Move and Win
AGC020
大事そうなのは、くっついた瞬間
https://scrapbox.io/files/650868d1718bc9001bf12fbd.png
この状態になった時点でターンを持っている側(赤で示した)が負ける
このプレイヤーにとって最適な行動は、最も左側のマスに逃げていくこと
それ以外に取れる行動がない
追うプレイヤーは、最後まで簡単に追い詰めることができる
したがって、くっつく瞬間にどちらがターンを持っているかが重要
くっつく瞬間にターンを持たないように行動するのが最適だが..
以下の状態を考える
https://scrapbox.io/files/6508695ab18296001be8f3c9.png
現在ターンを持っている側は、次手で前に出てはいけない
その次に相手が詰めてくっつき、その状態でターンが返ってくるから
後ろに行くとどうなるのか?
ターンを2で割った余りごとに、各プレイヤーがいられるマスが変化する
これはパリティに近い発想
後ろに行っても相手は詰めてくるだけで、そのまま逃げるのが最適な行動と考えられる
結果、最も左側のマスまで上画像の状態が続いていく
最も左側のマスまで詰められたら、結局赤は前に出るしかなく、負ける
2者間のマス数が偶数のとき、ターンを取っている側が負ける
奇数のときは、ターンを取っていない側が負ける
先手のマスはA
間のマス数は$ B - A - 1
この値が偶数ならAが負ける
基数ならBが負ける
問題を見たらDrawという出力もあり得るかのように書かれていた
N = 2のときかな?と思ったが、ケース2はAliceの負けだったt6o_o6t.icon
Drawを出力しないまま提出したがAC.iconだった